1. Technical Field
The present invention relates to a semiconductor memory device, more particularly, the present invention relates to a non-volatile memory device and programming method thereof.
2. Description of Related Art
The semiconductor memory device types include volatile memory devices and a non-volatile memory devices.
The read and write operations of a volatile memory device may be performed relatively rapidly however data retained therein expires when power supply is off. Examples of volatile memory devices include a Static Random Access Memory (SRAM), a Dynamic Random Access Memory (DRAM), and a Synchronous Dynamic Random Access Memory (SDRAM).
The non-volatile memory device retains stored data even while the power supply is cut off. Therefore, the non-volatile memory device is used to save contents that must be retained, regardless of whether power is supplied or not. Examples of non-volatile memory devices include a Read-only Memory (ROM), a Programmable Read-only Memory (PROM), an Erasable Programmable Read-only Memory (EPROM), an Electrically Erasable Programmable Read-only Memory (EEPROM), a flash memory, Phase-change Random Access Memory (PRAM), a Magnetic Random Access Memory (MRAM), a Resistive Random Access Memory (RRAM), Ferroelectric Random Access Memory (FRAM), and the like.
Flash memory, a type of non-volatile memory, has a function of erasing data of cells collectively. and is widely used in computer systems and memory cards.
Flash memory may be a NOR-type or a NAND-type, depending on connections between memory cell transistors and to a bit line. The NOR-type flash memory takes a form of two or more memory cell transistors connected in parallel to one bit line, stores data by using a Channel Hot Electron method, and erases data by using a Fowler-Nordheim tunneling. On the other hand, the NAND-type flash memory takes a form of two or more cell transistors connected in series to one bit line, and stores and erases data by using the Fowler-Nordheim tunneling. The NOR-type flash memory is not suitable for high integration due to consumption of large amount of current, however it is advantageous in that it can adapt easily to acceleration of its operation speed. On the other hand, the NAND-type flash memory may be more highly integrated as it uses less cell current compared to the NOR-type flash memory.
After a programming operation has been performed in an above-described non-volatile memory device, it must to be determined whether a memory cell transistor is correctly programmed to have a required threshold voltage Vth correctly indicating the stored data value. Such operation is called a verifying operation (or, a verify-read operation). In general, a programming operation and a verifying operation form one loop (cycle), and such loops are repeated a predetermined number of times. For example, after a memory cell transistor is programmed, whether a threshold voltage Vth of a programmed memory cell transistor is higher than the verify-read voltage Vvfy, is determined when a verify-read voltage Vvfy is applied to a selected word line. If a threshold voltage Vth of a programmed memory cell transistor is determined to be higher than a verify-read voltage Vvfy, a re-programming operation of a memory cell transistor is not performed, and the next loop is cancelled. Then such a memory cell transistor may be deemed a correctly programmed cell. On the other hand, if a threshold voltage Vth of a programmed memory cell transistor is determined to be lower than a verify-read voltage Vvfy, a re-programming operation of a memory cell transistor is performed in the next loop. The number of programmed cells may gradually increase with repetitions of the programming, loops. In other words, the number of memory cell transistors to-be-programmed (or, number of bits to-be-programmed) may gradually decrease with repetitions of the programming, loops.